CX_PHONE_CALL - A call
Class hierarchy
- CX_CLASS
- CX_PHONE_CALL
Description:
An object of type CX_PHONE_CALL maps a call. A call can be in a certain state. The following states are passed through when a call is made:
Comments: After t1, the machine switches to either s2, s4, s5 or s6. From s2 via t2 the status of the call switches directly to s3, i.e. if an error occurs during dialling, the messages PC_ERROR and immediately afterwards PC_INVALID are generated. s5 only occurs if the hardware detects the ringing on the other side. If not and a connection is established, the system changes directly from t1 to s6.
An error may also occur with Call(HangUp), Call(Hold) and Call(Unhold) (not entered in the image). The status after an error can be PC_INVALID, but can also be the status before the function call. Only in case of an error in MakeCall, ClassiX® guarantees the path s2 -> t2 -> s3.
The PC_INVALID status is always the last status that a call can accept. At the same time, the object is under the management of the garbage collection from this point on and is destroyed as soon as there is no more reference to it.
The following figure shows the call acceptance procedure:
Comments: After s2 the system may jump to s6, i.e. after a PC_OFFERING a PC_CALLERID may follow. There may be a time span between these messages, so they may not be triggered immediately after each other.
The initiation of calls and answering of calls is controlled via the Phone Manager. This creates a new CX_PHONE_CALL object, with which the call can now be further controlled, e.g. by disconnecting the connection or accepting or rejecting an offered call. It is not necessary to create a CX_PHONE_CALL object directly (it would not be able to perform any actions anyway because of the missing connection to Windows; this connection is also created by the Phone Manager).
A message is always generated for status changes. For this message, the relevant CX_PHONE_CALL object is at the top of the stack.
As soon as a CX_PHONE_CALL object has the status PC_INVALID, no further actions can be performed with this object (exception: Get functions). The attempt is acknowledged with a PC_ERROR or an error message. The object can change to the status PC_INVALID at any time, i.e. whenever the other party terminates the connection.
Code example:
Function | MA* | Parameters | Return | Brief description |
---|---|---|---|---|
Answer | Answering a call | |||
GetCallStatus | INTEGER | Determining the status of the call | ||
GetCalledID | OBJECT | Determining the number of the called party | ||
GetCallerID | OBJECT | Determining the caller's telephone number | ||
HangUp | Terminate connection | |||
Hold | Hold connection | |||
Reject | Reject call | |||
Unhold | Undo hold |
* MA = Member Access function,
grey background = inherited function
Module | Brief description |
---|---|